package com.sikaryofficial.backend.domain.dto.resp.collection;

import com.sikaryofficial.backend.annotation.LikesDataFormat;
import com.sikaryofficial.backend.domain.dto.resp.UserActionListResp;
import com.sikaryofficial.backend.domain.vo.EvaluateContentObj;
import com.sikaryofficial.common.core.annotation.LocalDateTimeFormat;
import com.sikaryofficial.system.api.model.att.AttachmentResp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 用户行为对象 user_action_t
 *
 * @author qinjinyuan
 * @date 2023-11-09
 */
@Getter
@Setter
@ToString
@ApiModel(value = "用户行为店铺出参", description = "用户行为店铺出参")
public class UserActionEvaluateResp extends UserActionListResp {
    /**
     * 评价内容
     */
    @ApiModelProperty(value = "评价内容")
    private String remark;

    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称")
    private String createdName;

    /**
     * 昵称
     */
    @ApiModelProperty(value = "昵称")
    private String nickName;

    /**
     * 创建时间, 伦敦所在的时区为GMT+1，也被称为西一区
     */
    @LocalDateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间", example = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    /**
     * 评价ID
     */
    @ApiModelProperty(value = "评价ID", example = "1212435")
    private Long evaluateId;

    /**
     * 品牌口味ID
     */
    @ApiModelProperty(value = "品牌口味ID", example = "12.2435")
    private Long brandTasteId;

    /**
     * 品牌编码
     */
    @ApiModelProperty(value = "品牌编码", example = "12.2435")
    private String brandNo;

    /**
     * 型号
     */
    @ApiModelProperty(value = "型号", example = "12.2435")
    private String model;

    /**
     * 口味名称
     */
    @ApiModelProperty(value = "口味名称", example = "12.2435")
    private String tasteName;

    /**
     * 款式: style:disposable 一次性,cartridge 弹药筒,opentype 开放式
     */
    @ApiModelProperty(value = "款式: style:disposable 一次性,cartridge 弹药筒,opentype 开放式", example = "disposable")
    private String style;

    @ApiModelProperty(value = "个人图像-统一默认头像")
    private String avatar;

    /**
     * 评价图片
     */
    @ApiModelProperty(value = "评价图片", example = "12.2435")
    private List<AttachmentResp> attachmentList;

    /**
     * 评价指标
     */
    @ApiModelProperty(value = "评价指标", example = "12.2435")
    private List<EvaluateContentObj> evaluateContent;

    /**
     * 综合评分(小数)
     */
    @ApiModelProperty(value = "综合评分(小数)", example = "12.2435")
    private BigDecimal compositeScore;

    /**
     * 点赞统计
     */
    @ApiModelProperty(value = "点赞统计", example = "123")
    @LikesDataFormat
    private Integer likesCount;
    /**
     * 点赞统计
     */
    @ApiModelProperty(value = "回复统计", example = "123")
    @LikesDataFormat
    private Integer replyCount;

    /**
     * 是否有我的点赞
     */
    @ApiModelProperty(value = "是否有我的点赞")
    private boolean hasOwnerLikes;
}
